A distributed storage area network (SAN) environment has multiple nodes that form a cluster. This cluster presents a single logical view of storage to a host, but actually comprises a plurality of logical unit numbers (LUNs). As a result, access to a particular one of the plurality of LUNs owned by one of the multiple nodes is transparent to the host. However, internally the each of the LUNs are physically connected to and owned by only one of the multiple nodes in the cluster. As a result, any media access operation to one of these LUNs has to be redirected to the node in the cluster that owns the LUN. Accordingly, to facilitate this redirect, certain metadata information about each of the LUNs, such as the administrative state and the reservations state, is distributed and cached on each of the multiple nodes in the cluster that can reach the LUNs. It is essential that there is a single and consistent view of the distributed metadata information across all the nodes in the cluster and any changes that happen to the distributed metadata information needs to be updated on all the participating nodes in the cluster.
Cluster connectivity problems in this distributed SAN environment can cause nodes that have lost connectivity with the rest of the cluster to become unresponsive. For example, there could be network issues between the nodes of a cluster resulting in a partition. A partition is a condition that occurs in a cluster when only a subset of the nodes can communicate with each other. Nodes within a partition can maintain connectivity between each other, however they will be unreachable from nodes of a different partition. This partition in the distributed SAN environment is also known as a split brain scenario. Unfortunately, prior methods and systems have not been able to dynamically manage access to LUNs in a way that is transparent and non-disruptive to hosts accessing the LUNs.